package practice.Day9;

import java.util.Scanner;

/**
 * @Author quan
 * @Description 走方格的方案数
 * @Date 2023/5/17 19:07
 */
public class a02_SquareNum {
    // 没有思路，只想到跟二维数组有关
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        int n = sc.nextInt();
//        int m = sc.nextInt();
//        System.out.println((m+1)*(n+1)-2);
//    }
    //答案

    /**
     * 通过递归求解。
     * @param args
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //1、多组测试用例，需要循环输入
        while (sc.hasNextInt()){
            int n = sc.nextInt();
            int m = sc.nextInt();
            //2、递归求解
            int res = waysNum(n,m);
            System.out.println(res);
        }
    }

    /**
     * 输入两个数，返回 归求解出的总的路径数
     * @return
     */
    private static int waysNum(int n,int m) {
        //1、如果是只有一行或者一列的时候，总的路径数是m+n
        if((m==1 && n >=1) || (n==1 && m >=1)){
            return m+n;
        }
        //2、否则就递归求解:走到右下角的两个点位置上n-1,m和m,n-1位置上
        return waysNum(n-1,m) + waysNum(n,m-1);
    }
}
